#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project : GTMS_pytest_auto_api
@File    : setting.py
@IDE     : PyCharm 
@Author  : Mario
@Date    : 2022/5/19 16:46 
@Describe: 环境路径存放区域
"""
import os


class ConfigHandler:
    """
    python是跨平台的。在Windows上，文件的路径分隔符是'\'，在Linux上是'/'。
    为了让代码在不同的平台上都能运行.使用os.sep的话，就不用考虑这个了，
    os.sep根据你所处的平台，自动采用相应的分隔符号。
    """
    _SLASH = os.sep
    # 项目基础目录
    PROJECT_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 测试用例路径
    TEST_CASE_PATH = os.path.join(PROJECT_PATH, 'test_case' + _SLASH)
    # 测试用例数据路径
    TEST_CASE_DATA_PATH = os.path.join(PROJECT_PATH, 'Data' + _SLASH)
    # 日志存放路径
    LOG_PATH = os.path.join(PROJECT_PATH, 'Log' + _SLASH + 'log.log')
    INFO_LOG_PATH = os.path.join(PROJECT_PATH, 'Log' + _SLASH + 'info.log')
    ERROR_LOG_PATH = os.path.join(PROJECT_PATH, 'Log' + _SLASH + 'error.log')
    WARING_LOG_PATH = os.path.join(PROJECT_PATH, 'Log' + _SLASH + 'warning.log')
    # 配置文件存放路径
    CONFIG_PATH = os.path.join(PROJECT_PATH, 'Config' + _SLASH + 'config.yaml')
    # 文件路径
    FILE_PATH = os.path.join(PROJECT_PATH, 'Files' + _SLASH)
    # 工具类路径
    UTIL_PATH = os.path.join(PROJECT_PATH, 'Utils' + _SLASH)
    # 依赖安装路径
    UTIL_INSTALL_PATH = UTIL_PATH + 'otherUtils' + _SLASH + 'InstallUtils' + _SLASH
    # 测试报告路径
    REPORT_PATH = os.path.join(PROJECT_PATH, 'Report')
    # 测试报告中的test_case路径
    REPORT_HTML_TEST_CASE_PATH = os.path.join(PROJECT_PATH, 'Report' + _SLASH + 'html' + _SLASH + 'data' + _SLASH + 'test_cases' + _SLASH)
    # 测试报告中的attachments路径
    REPORT_HTML_ATTACHMENTS_PATH = os.path.join(PROJECT_PATH, 'Report' + _SLASH + 'html' + _SLASH + 'data' + _SLASH + 'attachments' + _SLASH)
    # allure报告数据存放路径
    EXCEL_TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'Utils' + _SLASH + 'otherUtils' + _SLASH + "allureData" + _SLASH)
    # 缓存路径
    CACHE_PATH = os.path.join(PROJECT_PATH, 'Cache' + _SLASH)
    if not os.path.exists(CACHE_PATH):
        os.mkdir(CACHE_PATH)


if __name__ == '__main__':
    print(ConfigHandler.EXCEL_TEMPLATE_PATH)
